package com.strive.village.config;


import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * @Author: strivePeng
 * @CreateTime: 2024年04月19日
 * @Description: 生成图片验证码
 **/

@Configuration
public class KeptchaConfig {
    @Bean
    /**
     * 配置验证码的生成规则
     */
    public DefaultKaptcha producer() {
        Properties properties = new Properties(); // 主要用于设置长宽高等属性
        properties.put("kaptcha.border", "no"); // 是否有边框
        properties.put("kaptcha.textproducer.font.color", "black");  // 文本颜色
        properties.put("kaptcha.textproducer.char.space", "4"); // 每个字符的空行 4 间隔
        properties.put("kaptcha.textproducer.font.size", "30"); // 文字大小
        properties.put("kaptcha.image.height", "40"); // 高度、 宽度
        properties.put("kaptcha.image.width", "120");

        Config config = new Config(properties); // 将参数传进去 ctrl点击config可以看到有哪些自定义的参数
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }
}

